package org.ims.inv.model.proficient;

import java.util.Date;

import org.ims.inv.model.system.ModelAppUser;

import cn.trymore.core.model.ModelBase;
import cn.trymore.core.util.UtilString;

/**
 * Model: 专家信息
 * 
 * @author Jeccy.Zhao
 *
 */
public class ModelProficient
extends ModelBase
{

	private static final long serialVersionUID = -6048625420380557417L;
	
	/**
	 * 姓名
	 */
	private String fullName;
	
	/**
	 * 单位名称
	 */
	private String companyName;
	
	/**
	 * 性别
	 */
	private Integer gender;
	
	/**
	 * 性别文字描述
	 */
	private String genderText;
	
	/**
	 * 出生年月
	 */
	private String birthday;
	
	/**
	 * 照片
	 */
	private String photo;
	
	/**
	 * 部门
	 */
	private String department;
	
	/**
	 * 职务
	 */
	private String jobDuty;
	
	/**
	 * 职称
	 */
	private String jobTitle;
	
	/**
	 * 昵称
	 */
	private String nickName;
	
	/**
	 * 地址
	 */
	private String address;
	
	/**
	 * 手机
	 */
	private String mobilePhone;
	
	/**
	 * 办公室电话
	 */
	private String officePhone;
	
	/**
	 * 邮箱地址
	 */
	private String email;
	
	/**
	 * 个人简要
	 */
	private String briefing;
	
	/**
	 * 研究方向
	 */
	private String researchArea;
	
	/**
	 * 推荐理由
	 */
	private String referReason;
	
	/**
	 * 部门意见
	 */
	private String departmentComment;
	
	/**
	 * 院领导意见
	 */
	private String leadershipComment;
	
	/**
	 * 创建时间
	 */
	private Date creationTime;
	
	/**
	 * 最后修改时间
	 */
	private Date lastModifiedTime;
	
	/**
	 * 推荐时间
	 */
	private Date recommendTime;
	
	/**
	 * 记录人员
	 */
	private ModelAppUser recorder;
	
	/**
	 * 推荐人姓名
	 */
	private ModelAppUser recommender;
	
	/**
	 * 状态
	 */
	private Integer status;
	
	/**
	 * 记录人员姓名
	 */
	private String recorderName;
	
	/**
	 * 推荐人员姓名
	 */
	private String recommenderName;

	public String getFullName()
	{
		return fullName;
	}

	public void setFullName(String fullName)
	{
		this.fullName = fullName;
	}

	public String getCompanyName()
	{
		return companyName;
	}

	public void setCompanyName(String companyName)
	{
		this.companyName = companyName;
	}

	public Integer getGender()
	{
		return gender;
	}

	public void setGender(Integer gender)
	{
		this.gender = gender;
	}

	public String getJobTitle()
	{
		return jobTitle;
	}

	public void setJobTitle(String jobTitle)
	{
		this.jobTitle = jobTitle;
	}

	public String getNickName()
	{
		return nickName;
	}

	public void setNickName(String nickName)
	{
		this.nickName = nickName;
	}

	public String getMobilePhone()
	{
		return mobilePhone;
	}

	public void setMobilePhone(String mobilePhone)
	{
		this.mobilePhone = mobilePhone;
	}

	public String getOfficePhone()
	{
		return officePhone;
	}

	public void setOfficePhone(String officePhone)
	{
		this.officePhone = officePhone;
	}

	public String getEmail()
	{
		return email;
	}

	public void setEmail(String email)
	{
		this.email = email;
	}

	public String getBriefing()
	{
		return briefing;
	}

	public void setBriefing(String briefing)
	{
		this.briefing = briefing;
	}

	public String getResearchArea()
	{
		return researchArea;
	}

	public void setResearchArea(String researchArea)
	{
		this.researchArea = researchArea;
	}

	public String getDepartmentComment()
	{
		return departmentComment;
	}

	public void setDepartmentComment(String departmentComment)
	{
		this.departmentComment = departmentComment;
	}

	public String getLeadershipComment()
	{
		return leadershipComment;
	}

	public void setLeadershipComment(String leadershipComment)
	{
		this.leadershipComment = leadershipComment;
	}

	public Date getCreationTime()
	{
		return creationTime;
	}

	public void setCreationTime(Date creationTime)
	{
		this.creationTime = creationTime;
	}

	public Date getLastModifiedTime()
	{
		return lastModifiedTime;
	}

	public void setLastModifiedTime(Date lastModifiedTime)
	{
		this.lastModifiedTime = lastModifiedTime;
	}

	public Date getRecommendTime()
	{
		return recommendTime;
	}

	public void setRecommendTime(Date recommendTime)
	{
		this.recommendTime = recommendTime;
	}

	public ModelAppUser getRecorder()
	{
		return recorder;
	}

	public void setRecorder(ModelAppUser recorder)
	{
		this.recorder = recorder;
	}

	public ModelAppUser getRecommender()
	{
		return recommender;
	}

	public void setRecommender(ModelAppUser recommender)
	{
		this.recommender = recommender;
	}

	public Integer getStatus()
	{
		return status;
	}

	public void setStatus(Integer status)
	{
		this.status = status;
	}
	
	public String getReferReason()
	{
		return referReason;
	}

	public void setReferReason(String referReason)
	{
		this.referReason = referReason;
	}

	public String getPhoto()
	{
		return photo;
	}

	public void setPhoto(String photo)
	{
		this.photo = photo;
	}

	public String getDepartment()
	{
		return department;
	}

	public void setDepartment(String department)
	{
		this.department = department;
	}

	public String getJobDuty()
	{
		return jobDuty;
	}

	public void setJobDuty(String jobDuty)
	{
		this.jobDuty = jobDuty;
	}

	public String getAddress()
	{
		return address;
	}

	public void setAddress(String address)
	{
		this.address = address;
	}

	public String getBirthday()
	{
		return birthday;
	}

	public void setBirthday(String birthday)
	{
		this.birthday = birthday;
	}
	
	public String getGenderText()
	{
		if (gender != null)
		{
			genderText = gender.equals(1) ? "女" : "男";
		}
		
		return genderText;
	}
	
	public Integer convertFromGenderText (String text)
	{
		if (UtilString.isNotEmpty(text))
		{
			return "男".equals(text) ? 0 : 1;
		}
		
		return null;
	}

	public String getRecorderName()
	{
		return recorderName;
	}

	public void setRecorderName(String recorderName)
	{
		this.recorderName = recorderName;
	}

	public String getRecommenderName()
	{
		return recommenderName;
	}

	public void setRecommenderName(String recommenderName)
	{
		this.recommenderName = recommenderName;
	}
	
}
